﻿#pragma once


class Lunar;
/// <summary>
/// 道历
/// </summary>
class Tao
{
public:

	/// <summary>
	/// 生年
	/// </summary>
	static const int BIRTH_YEAR = -2697;

	/// <summary>
	/// 初始化
	/// </summary>
	/// <param name="lunar">阴历</param>
	Tao(Lunar& lunar);


	/// <summary>
	/// 初始化
	/// </summary>
	/// <param name="lunar">阴历</param>
	/// <returns>道历</returns>
	static Tao* FromLunar(Lunar& lunar);


	/// <summary>
	/// 初始化
	/// </summary>
	/// <param name="year">阴历年</param>
	/// <param name="month">阴历月</param>
	/// <param name="day">阴历日</param>
	/// <param name="hour">小时</param>
	/// <param name="minute">分钟</param>
	/// <param name="second">秒钟</param>
	/// <returns>道历</returns>
	static Tao* FromYmdHms(int year, int month, int day, int hour = 0, int minute = 0, int second = 0);



private:
	Lunar* _luanr;

};

